package com.ant.storage.service;

import com.ant.storage.common.PageRequest;
import com.ant.storage.common.ResultVo;
import com.ant.storage.dto.ImgUrlDto;
import com.ant.storage.dto.SupplierInformationDto;
import com.ant.storage.dto.SupplierOrderDto;
import com.ant.storage.dto.TimeDto;
import com.ant.storage.pojo.SupplierInformation;
import com.ant.storage.pojo.SupplierPayList;
import com.ant.storage.vo.SupplierDetailsVo;
import com.ant.storage.vo.SupplierPayListVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import org.springframework.validation.BindingResult;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author melon
 * @since 2022-03-16
 */
public interface ISupplierInformationService extends IService<SupplierInformation> {

    PageInfo<SupplierInformation> queryAllByPage(SupplierInformationDto supplierInformationDto);

    ResultVo addSupplierInformation(SupplierInformation supplierInformation, BindingResult bindingResult);

    /**
     * 通过id查询供应商采购及结算信息
     * @return
     */
    PageInfo<SupplierPayList> findPaymenList(SupplierInformationDto dto);

    //月结申请提交
  //  ResultVo MonthlySettlementSave(PurchaserRecordDto purchaserRecordDto, BindingResult bindingResult);

    // 财务通过供应商id查看供应商结算申请明细
    ResultVo getMonthlySettlementById(PageRequest pageRequest, Integer id);

    PageInfo<SupplierPayListVo> findPaymenLists(SupplierOrderDto dto);

    ResultVo updateImgUrl(ImgUrlDto dto);

    /**
     * 查询供应商结算明细
     * @param dto
     * @return
     */
    List<SupplierPayList> findSupplierSettlementDetailsIds(SupplierInformationDto dto);

    List<SupplierDetailsVo> details(TimeDto dto);
}
